package com.feicheng.iou.service;

import com.feicheng.iou.entity.User;
import com.baomidou.mybatisplus.extension.service.IService;
import com.feicheng.iou.pojo.login.UserPOJO;
import com.feicheng.iou.pojo.login.LoginParamPOJO;
import com.feicheng.iou.result.ResultInfo;
import com.feicheng.iou.result.ResultInfoV110;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author tianchunlei
 * @since 2021-06-28
 */
public interface UserService extends IService<User> {

    /**
     * @param loginParamPOJO
     * @return ResultInfo
     * @Author wuweinan
     * @Description 登录验证与权限接口, 查询用户信息
     * @Date 2021-7-23 10:45
     */

    User selectUserInfoOfLogin(LoginParamPOJO loginParamPOJO);


    /**
     * @param userPOJO
     * @return ResultInfo
     * @Author wuweinan
     * @Description //新增用户信息及其权限
     * @Date 2021-7-23 10:45
     */
    ResultInfo AddUser(UserPOJO userPOJO);


    /**
     * @param name
     * @return ResultInfo
     * @Author wuweinan
     * @Description //模糊查询用户
     * @Date 2021-7-23 10:45
     */
    ResultInfo queryUserListByCondition(String name);


    /**
     * @param userPOJO
     * @return ResultInfo
     * @Author wuweinan
     * @Description //更改用户的权限和信息
     * @Date 2021-7-23 10:45
     */
    ResultInfo updateUserMessage(UserPOJO userPOJO);


    /**
     * @param account
     * @return ResultInfo
     * @Author wuweinan
     * @Description //判断用户名是否存在
     * @Date 2021-7-23 10:45
     */
    ResultInfo judgeUserAccount(String account);


    /**
     * @param page , size
     * @return ResultInfo
     * @Author wuweinan
     * @Description //查询所有有市场管理权限用户
     * @Date 2021-7-23 10:45
     */
    ResultInfo selectAllMarketUser(Integer page, Integer size);


    /**
     * @Author wuweinan
     * @Description //查询所有用户
     * @Date 2021-7-23 10:45
     * @param page , size
     * @return ResultInfo
     */
    ResultInfoV110 selectAllUser(Integer page ,Integer size);


    /**
     * @param userId
     * @return ResultInfo
     * @Author wuweinan
     * @Description //根据用户Id查询用户
     * @Date 2021-7-23 10:45
     */
    ResultInfo selectUserById(Integer userId);



}
